// 这是post登录的服务端验证模块

// 导入用户集合构造函数 
const {User}=require('../../model/user') 
// 引入加密
const bcrypt=require('bcrypt');



module.exports=async (req,res)=>{
    const {email,password}=req.body
   if(email.trim().length==0||password.trim().length==0)
   return res.status(400).render('admin/error',{msg:'邮箱或密码错误'});
//    查询用户是否在数据库中
   let user=await User.findOne({email});
   
   if(user){
    //    密码和数据库中加密密码对比，返回布尔值
    let isValid=await bcrypt.compare(password,user.password)
       if(isValid){
           req.session.username=user.username;
           //将用户角色存储在session对象中    
           req.session.role = user.role
            // 登录后个人信息保存展示
            req.app.locals.userInfo=user;
            if(user.role == 'admin'){
                res.redirect('/admin/user');
            }else{      
                // res.redirect('/admin/user');      
                res.redirect('/home/')
            }
          
        //    res.send('登录成功');
       }else{
           res.status(400).render('admin/error',{msg:'邮箱或密码错误'})
       }
   }else{
    res.status(400).render('admin/error',{msg:'邮箱或密码错误'})
   }

}